بان برنامهنویسی سی شارپ
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
سیشارپ زبان اصلی چارچوب داتنت مایکروسافت است. سیشارپ نیز همانند پایتون یک زبان برنامهنویسی همهمنظوره است که برای ساخت پروژههای مختلف استفاده میشود. این زبان به دلیل رعایت قواعد مختلفی موفق شده تاییده سازمان بینالمللی استاندارد (ISO) را به دست آورد. مایکروسافت زبان سیشارپ را با هدف پیادهسازی یک زیرساخت زبان مشترک (CLI) سرنام Common Language Infrastructure طراحی کرد. زیرساخت زبان مشترک یک محیط اجرایی را ارائه میکند که حاوی کدهای برنامهنویسی و تنظیمات اجرایی محیط است که اجازه میدهد برنامههای کاربردی روی زیرساختها و معماریهای مختلف اجرا شوند. سیشارپ شبیه به پایتون یک زبان شیگرا است، البته شیگرایی در سیشارپ به مراتب بالاتر از پایتون است. سیشارپ یک زبان برنامهنویسی مبتنی بر کامپایلر است که پیش از اجرای کدها یکبار آنها را بررسی میکند و اگر خطایی درون کدها پیدا نکند برنامه را اجرا میکند. ویژگی دیگری که سیشارپ دارد، ایستا بودن نوعهای دادهای است. برنامهنویسان در زمان کدنویسی در سیشارپ باید نوع دادهای متغیرها را تعیین کنند و اگر نوع دادهای متغیرها متناقض با مقدار تخصیص داده شده به متغیرها باشد، کامپایلر پیغام خطایی تولید میکند. ساختار و ترکیب نحوی سیشارپ شباهت زیادی به زبانهای سی، سیپلاسپلاس و جاوا دارد، اما در مقایسه با دو زبان یاد شده جدیدتر و یادگیری آن سادهتر است. چندسکویی بودن و قابلیت اجرای کدها روی سامانههای مختلف از دیگر ویژگیهای شاخص سیشارپ هستند.
همانگونه که اشاره شد، ساختار پایه و کلی سیشارپ شبیه جاوا و سیپلاسپلاس است و متشکل از فضای نام، تعریف کلاس و تابع اصلی است. سیشارپ ویژگیها و مزایای مختلفی دارد، اما یکی از بزرگترین ویژگیهای سیشارپ یکپارچگی کامل آن با چارچوب داتنت است. یک چارچوب نرمافزاری بسیار گسترده که انواع مختلفی از کتابخانههای کاربردی برای ساخت انواع مختلفی از برنامهها درون آن قرار گرفته است. به عبارت سادهتر، اگر بتوانید یک تسلط نسبی بر داتنت به دست آورید، بهراحتی میتوانید برنامههای مختلف را با سیشارپ بنویسید.
مطلب پیشنهادی
چرا زبان برنامهنویسی C همچنان حکمرانی میکند
یکهتازی یک قدیمی دوستداشتنی
چرا زبان برنامهنویسی C همچنان حکمرانی میکند
مزایای سیشارپ
سیشارپ همانند سایر زبانهای برنامهنویسی مزایا و معایب خاص خود را دارد. از مهمترین مزایای این زبان به موارد زیر میتوان اشاره کرد:
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276 سیشارپ با چارچوب داتنت یکپارچه شده است.
سیشارپ یک زبان برنامهنویسی سطح بالا و ساخت یافته است.
سیشارپ مجموعهای از بهترین ویژگیهای برنامهنویسی شیگرایی درون زبانهای جاوا و سیپلاسپلاس را ارائه کرده است. توسعهدهندگانی که تجربه کار با جاوا یا سیپلاسپلاس را دارند و قصد یادگیری سیشارپ و بهرهمندی از کتابخانههای داتنت را دارند مشکل خاصی در این زمینه نخواهند داشت.
ویژگی مهم دیگر سیشارپ مولفهمحور بودن این زبان است.
ترکیب نحوی دستورات این زبان سادهتر از زبانهای قدیمی است، در نتیجه یادگیری آن برای برنامهنویسان مبتدی سادهتر سیشارپ همانند پایتون از تکنیک مدیریت خودکار حافظه(Garbage Collection) استفاده میکند.
سیشارپ به ویژگی جالب عدم اجرای کدهایی که نوعهای دادهای غیر ایمن را استفاده میکنند تجهیز شده است. به بیان سادهتر، اگر در فرآیند ارزیابی کدهای نوشته شده با این زبان و در مدت زمان تبدیل نوع، مقادیر متغیر به نوعهای دادههای غیر مجاز تبدیل شوند، کدها اجرا نخواهند شد.
سرعت کامپایل و اجرای کدها در سیشارپ بالا است که درست در نقطه مقابل پایتون است که کدها با سرعت کمتری اجرا میشوند.
توسعهدهندگان در سیشارپ نمیتوانند از نوعهای اشارهگر استفاده کنند که شاید به لحاظ امنیتی یک برتری قابل توجه را برای برنامههای سیشارپ به همراه میآورد.
توسعهدهندگانی که انجام پروژههای آنها محدود به سیستمعامل ویندوز میشود، بهتر است از سیشارپ غافل نشوند. سیشارپ گزینه ایدهآلی برای ساخت برنامههایی است که قرار است در ویندوز اجرا شوند.
معایب زبان سیشارپ
از مهمترین معایب زبان سیشارپ به موارد زیر میتوان اشاره کرد:
سیشارپ به برنامهنویسان اجازه میدهد از اشارهگرها در بلوکهای غیر ایمن (Unsafe Blocks) استفاده کنند. بلوکهای غیر ایمن، ساختارهای دستوری هستند که در قالب CLR سرنام Common Language Runtime اجرا نمیشوند. CLR یکی از مولفههای اصلی چارچوب داتنت است که یک محیط اجرای مدیریت شده برای کدها را ایجاد میکند.
بیشتر متغیرهایی که در سیشارپ تعریف میشوند از نوعی ارجاعی هستند و با توجه به اینکه سیشارپ از تکنیک مدیریت خودکار حافظه استفاده میکند، آزادسازی متغیرها از حافظه به شکل ضمنی انجام میشود.
اشکالزدایی و رفع باگهای برنامهها در سی شارپ به سادگی پایتون نیست و به مهارت بیشتری نیاز دارد.
در مقایسه با پایتون باید مدت زمان بیشتری را صرف یادگیری سیشارپ کنید. وی این کادر نظارت می کنند، کار را با بالاترین کیفیت ممکن ارائه می دهند.شما میتواند سفارش خود را در هر زمینه ای که هست ارسال کنید و سریعا پاسخ مسئولین موسسه را دریافت کنید و به راحتی پروژه برنامه نویسی به هر زبانی را انجام دهید.
ثبت سفارش در تلگرام ثبت سفارش در واتساپ ثبت سفارش در سروش ثبت سفارش در سایت
برنامه نویسی
سی پلاس پلاس
جاوا وب اپلیکیشن
ویژوال بیسیک
شی گرایی جاوا
مشهورترین زبان های برنامه نویسی
• C
• Python
• C++
• C#
• Visual Basic
• Cobol
• Fortran
• Objective-C
• Swift
• Pascal
• Delphi
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
انجام پروژه برنامه نویسی در این زبان ها در اکثر اداره ها ، دانشگاه ها ، مراکز دولتی و … به امری معمولی تبدیل شده و همگی نیازمند این تکنولوژی بی نظیر هستند. موسسه اوج دانش با انجام این نوع پروژه ها برای مراکز دولتی و محققین و حتی انجام پروژه برنامه نویسی دانشجویی خدمات خود را گسترده تر کرده و همواره می کوشد تا نهایت رضایت بخشی را در شما عزیزان ایجاد کند
وره آموزش مقدماتی برنامه نویسی تجاری با سی شارپ
با سلام و احترام خدمت همه کاربران عزیز وب سایت دانشجویار
پاسبان هستم عضو هیئت علمی دانشگاه بیرجند و مدیر عامل شرکت دانشجویار . تصمیم گرفتم دانش برنامه نویسی که طی سال ها تجربه و تلاش به دست آوردم را به صورت اختصاصی برای افرادی که برنامه نویسی سی شارپ را برای ورود به بازار کار انتخاب می کنند، آماده کنم.
زبان برنامه نویسی سی شارپ یکی از محبوب ترین ها و پرکاربردترین ها در برنامه نویسی است. این زبان برنامه نویسی در اکثر دانشگاههای کشور بهعنوان چند واحد درسی موردبررسی قرار میگیرد.
این دوره به شکل کاملا متفاوت و با رویکرد پروزه محور از همان ابتدا ضبط می شود.
مزایای زبان برنامه نویسی سی شارپ:
یکی از متداولترین و بهترین روشها برای پیادهسازی اپلیکیشن ها و نرمافزارهای تحت ویندوز میباشد.
یادگیری این زبان برنامهنویسی میتواند پیشنیاز مناسبی برای شروع برنامهنویسی با تکنولوژی ASP برای نرمافزارهای تحت وب و کد نویسی موبایل با Xamarin باشد.
در اکثر دانشگاههای کشور بهعنوان چند واحد درسی موردبررسی قرار میگیرد و حرفهای بودن در آن موجب رونق کسبوکار شما در بازار برنامهنویسی کشور خواهد شد.
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
با توجه به اینکه اکثر افراد زبان برنامه نویسی سی شارپ را جهت ورود به بازار کار انتخاب می کنند، برآن شدیم تا دوره ای جامع و کامل از این زبان برنامه نویسی آماده کنیم. این دوره بصورت پروژه محور خواهد بود.
آنچه در دوره آموزش مقدماتی برنامه نویسی تجاری با سی شارپ بررسی خواهد شد:
در بخش اول آموزش، با نکاتی برای شروع برنامه نویسی و پیدا کردن پروژه آشنا می شوید. همچنین یک پروژه ساده ماشین حساب را با هم کار می کنیم.
در بخش دوم، آموزش سی شارپ در قالب طراحی نرم افزار notepad ، چند کامپوننت و مفهوم جدید را مورد بررسی قرار می دهیم.
در بخش سوم از آموزش برنامه نویسی تجاری با سی شارپ در ابتدا چند نمونه پروژه کاربردی از مبحث فایل ها را کد نویسی می کنیم و سپس به استریم ها می پردازیم و در آخر در مورد مدیریت خطاها در سی شارپ صحبت می کنیم.
در بخش چهارم ابتدا برنامه taskmanager ویندوز را شبیه سازی می کنیم و در این نرم افزار سعی می کنیم کار با process ها در سی شارپ را آموزش دهیم در این آموزش کار با کنترل های timer , datagirdview در سی شارپ را یاد میگیرید، یاد میگیرید که چگونه یک تسک را از طریق سی شارپ ببندیم.
سپس آموزش به معرفی رویدادهای صفحه کلید در سی شارپ می پردازیم، کار با رویدادهای keypress , keydows , keyup در سی شارپ را یاد می گیرید و تفاوت این رویداد ها را یاد میگیرید و یک بازی ساده در سی شارپ را یاد میگیرید طراحی کنید.
به معرفی متد های gettype , typeof در سی شارپ می پردازیم، با استفاده از این ۲ متد یاد میگیرید که چگونه به کلیه کنترل های داخل فرم دسترسی پیدا کرده و یکجا روی همه آنها دستکاری کنید. این بخش بسیار مهم و جذاب بوده و در بسیاری از پروژه ها کاربری می باشد.
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
به معرفی کامپوننت های devComponent , telerik در سی شارپ می پردازیم، نحوه نصب و استفاده از devcomponent در سی شارپ را آموزش می دهیم، یاد میگیرید که چگونه از این کامپوننت ها در پروژه های خود استفاده کنید.
در بخش پنجم از دوره برنامه نویسی تجاری در سی شارپ از گروه آموزشی دانشجویار در خدمت شما هستیم.در این بخش به آموزش بانک اطلاعاتی در سی شارپ می پردازیم و هر آنچه را یک برنامه نویس از بانک اطلاعاتی باید بداند آموزش می دهیم. این بخش در ۱۱ قسمت ارائه شده و به معرفی انواع بانک های اطلاعاتی پرداخته و ۲ بانک اطلاعاتی sql server , access را به شکل اختصاصی معرفی کرده ایم و در نهایت زبان SQL را به شکل کامل آموزش داده ایم.
در بخش ششم به طور کلی به معرفی انواع تکنولوژی های کار با بانک اطلاعاتی در سی شارپ می پردازیم و تکنولوژی ADO.Net , Linq , Entity Framework را با هم مقایسه می کنیم و در انتها یک برنامه ساده(دفترچه تلفن) را با تکنولوژی ADO.Net آموزش می دهیم و سعی می کنیم همه نکات لازم برای کار با بانک اطلاعاتی را در این روش بیان کنیم.
در بخش هفتم، پروژه بایگانی نامه های سازمان را با تکنولوژی ADO.Net و بانک اطلاعاتی SQL server انجام داده ایم.این بخش برای دوستانی که قصد یادگیری LINQ و Entity Framework را دارند، الزامی می باشد.
در این آموزش سعی شده نحوه تحلیل صحیح دیتابیس آموزش داده شود, ساخت جداول و اهمیت کلید اصلی و کلید خارجی معرفی می شود، دیاگرام ها و ویو ها استفاده می شود. در ادامه پروژه کار با تاریخ ها و عملیات بر روی تاریخ هاف تبدیلات بین تاریخ ها و گزارش گیری بر اساس تاریخ در پروژه آموزش داده شده است، سعی شده نکات کلیدی و ترفند های جالبی برای برنامه نویسان اموزش داده شود، پس پیشنهاد می شود این اموزش را از دست ندهید.
برای مشاهده جزئیات هر فصل می توانید به پست مربوطه مراجعه کنید.
بخش اول آموزش برنامه نویسی تجاری با سی شارپ
بخش دوم آموزش برنامه نویسی تجاری با سی شارپ
بخش سوم آموزش برنامه نویسی تجاری با سی شارپ
بخش چهارم آموزش برنامه نویسی تجاری با سی شارپ
بخش پنجم آموزش برنامه نویسی تجاری با سی شارپ
بخش ششم آموزش برنامه نویسی تجاری با سی شارپ
بخش هفتم آموزش برنامه نویسی تجاری با سی شارپ
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
سرفصل این دوره آموزشی را به تفکیک در زیر می توانید مشاهده کنید:
نکانتی که قبل از شروع باید بدانیم
چرا باید برنامهنویسی یاد گرفت؟
بررسی بازار کار برنامه نویسی و جامعه مخاطبین و پروژه ها در ایران
افراد و شرکت های موفق برنامه نویسی در ایران
انواع زبان های برنامه نویسی و مقایسه کلی آنها
بررسی زبان های برنامه نویسی مفسری و کامپایلری و مقایسه آنها
تفاوت زبان های آکادمیک و تجاری
آیا میتوان برنامه نویسی را در دانشگاه فرا گرفت؟
بررسی پلتفرم های پرطرفدار ویندوز ، وب و اندروید
بررسی امکانات ویژوال استودیو برای برنامه نویسی در پلتفرم های مختلف
معرفی و بررسی امکانات ویژوال استودیو برای انجام پروژه های تیمیTFS
دلیل استفاده از ویژوال استودیو در مقایسه با سایر IDE های موجود
هر آنچه درباره C# و بازار کار آن در ایران باید بدانیم
بررسی تخصصیC# و اهم پروژه هایی که با این زبان نوشته شده است
با C# برای چه پلتفرم هایی میتوان نرم افزار تولید کرد؟
C# در برنامه نویسی ویندوز چه خصوصیاتی دارد؟
C# در برنامه نویسی وب چه خصوصیاتی دارد؟
C# در برنامه نویسی موبایل چه خصوصیاتی دارد؟
برترین و پرفروش ترین پروژه هایی که با C# نوشته شده چیست؟
محیط هایConsole , WPF , WindowsForm چه تفاوتی دارد؟
.NETFrameWork چیست و نسخه های مختلف آن چه تفاوتی دارد؟
ویژوال استودیو چه امکاناتی برای برنامه نویسی به ما می دهد؟
مایکروسافت چه پشتیبانی از C# میکند؟
مشکلات به وجود آمده در حین برنامه نویسی را چگونه میتوان رفع کرد؟
آیا برنامه های نوشته شده در C# را میتوان در سیستم عامل لینوکس و ... اجرا کرد؟
سایت ویژوال استودیو چه امکاناتی برای برنامه نویسی ارائه می دهد
نحوه یافتن پروژه سی شارپ و ورود به بازار کار
شخصی که مسلط به برنامه نویسی باشد به هیچ عنوان نباید نگران ورود به بازار کار و انجام پروژه و درامد باشد
برای شروع راه های مختلفی وجود دارد که در زیر نمونه هایی از ان ها را نام می بریم
1- شروع با انجام پروژه های دانشجویی
2- فعالیت در فروم های برنامه نویسی و معرفی خود به دیگران
3- فعالیت در سایت های فریلنسری و برون سپاری پروژه ها
4- نوشتن اولین پروژه حتی به صورت رایگان
5- داشتن یک وب سایت شخصی و معرفی خود و پروژه هایی که انجام داده اید
6- کار کردن برای شرکت های برنامه نویی فعال به صورت رایگان جهت کسب تجربه کافی
7- تشکیل تیم برنامه نویسی با دوستان و برنامه ریزی جهت وورد به بازار کار
8- پیدا کردن افراد موفق برنامه نویس و استفاده از مشاوره و راه نمایی های آنها
9- ارسال رزومه خود به شرکت های برنامه نویسی مختلف حتی اگر کسی به شما زنگ نزند
10- پروژه های برنامه نویسی را قبول کنید حتی اگر توان انجام ان را نداشته باشی(این کمک می کنه که هم یاد بگیرید و هم پروژه رو انجام بدین)
ایجاد اولین پروژه سی شارپ
آشنایی با محیط Visual Studio و Net.
Net. چیست؟
#C چیست؟
Visual Studioچیست؟
صفحه نخستین Net.
نحوه ایجاد پروژه
چه نسخه ای از .NetFrameWork را برای پروژه های مختلف استفاده کنیم؟
منوهای پرکاربرد SolutionExplorer ، Propertise، Toolbox
منوهایDatasourse و ServerExplorer و TeamExplorer
منوی پرکاربرد Option ویژوال استودیو و تنظیمات آن برای کمک به ظاهر محیط کدنویسی
نحوه اجرا کردن پروژه
شناخت فایل های ایجاد شده با پروژه و بررسی دقیق انها
نکات اصولی زبان سی شارپ
سینکتس برنامه نویسی سی شارپ
شیوه کد نویسی صحیح
فضای نام (Name Space)
کلاس ها, متد ها و پراپرتی ها
متغیرهاazsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
ثوابت
آرایه ها و کلکسیون ها
عملگرهای ریاضی، شرطی و منطقی
ساختارهای کنترلی دستورات تصمیمگیری
ساختارهای کنترلی دستورات تکرار
تاریخ و ساعت و تبدیلات بین میلادی و شمسی
Eventها (رخدادها) و Properties ها(خواص اشیا) در قالب پروژه ماشین حساب
رخداد (Event) چیست؟
مفهوم پارامتر اول رخدادها (Sender)
خواص(properties) چیست؟
متد چیست؟
شناخت اولین پارامتر متد ها(sender) و استفاده حرفه ای از آن
اشنایی با کنترل هایButton , Label , TextBox , MaskTextBox , Form
شناخت مهمترین خصوصیات و رخدادهای کنترل های ذکر شده
نکات کلیدی در طراحی حرفه ای تر و سریع تر پروژه
انواع روشهای تبدیل داده های متفاوت به یکدیگر با استفاده از Parse , convert
نحوه خروجی گرفتن از برنامه و نکات کلیدی آن
نکات حرفه ای:azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
1.محدود کردن textbox به دریافت کاراکترهای خاص
2.شناخت رخدادهای کی بورد
3.استفاده حرفه ای از sender و کاربرد های آن
مدیریت خطاها error handling در سی شارپ
انواع خطاها در سی شارپ
تفاوت error , warning
انواع روشهاییافتن خطا در زمان اجرا
نحوه صحیح استفاده از breakpoint
مشاهده مقادیر متغیر ها(watch) در زمان اجرا
استفاده از messageBox در خطایابی پروژه
استفاده از کنترل errorProvider جهت کنترل ورودی های کاربر و جلوگیری از تولید خطا
آموزش انواع Exception در #C
استفاده صحیح از try , catch , finally
ساخت پروژه NotePad(مباحث فایلینگ و استریم ها)
اهمیت و موارد کاربرد فایل ها در پروژه های برنامه نویسی
طراحی ظاهر نرم افزار مشابه NotePad ویندوز با اشیا StripMenu و RichTextBox
استفاده از دیالوگ ها برای فراخوانی و ذخیره فایل
نحوه فیلتر کردن فرمت و تنظیم موارد اصلی دیالوگ به صورت پیشفرض
استفاده از PrintDialog در پروژه
استفاده از ColorDialog در پروژه
استفاده از OpenFileDialog و SaveFileDialog
معرفی کامل کتابخانه IO و موارد کاربرد آن
چگونه یک فایل جدید در محل دلخواه ایجاد کنیم؟
چگونه یک فایل و محتوای آن را تغییر دهیم؟
Stream چیست ؟
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276 تفاوت inputstream با outstream
نحوه ایجاد FileStream
باز کردن فایل موجود برای خواندن و نوشتن
ایجاد فایل جدید برای خواندن و نوشتن
ذخیره فایل با فرمت دلخواه
تحلیل نحوه ساخت منویSaveAs
Find وReplace کردن متن انتخاب شده در کل فایل
عملیات هایCopy و Paste
استفاده از Clipboard
نحوه اعمال Font به پروژه و ذخیره فایل با فونت انتخاب شده !
منوی کاربردی و مهم Exit را در عین سادگی چگونه اصولی پیاده سازی کنیم؟
مجموعه کامپوننت های زیبا سازی فرم ها
نحوه اضافه کردن کامپوننت سایر شرکت ها به ویژوال استدیو
کامپوننت های تقویم و تاریخ شمسی
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276 نصب و راه اندازیskin soft Visual styler جهت زیبا سازی عناصر فرم ها
نصب و راه اندازیIrisSkin
معرفی و نصب مجموعه کامپوننت هایTelerik
معرفی و نصب مجموعه کامپوننت هایDev Component
معرفی و نصب مجموعه کامپوننت هایBeh Component
کامپوننتmessageboxفارسی
کامپوننت ساعت آنالوگ
کامپوننت ارسال ایمیل در سی شارپ
ساخت پروژه Task Manager ویندوز با سی شارپ
اموزش طراحی و ساخت یک task manager مشابه ویندوز
کار با کنترل timer , process
کار با dataGridView , listBox
گرفتن لیست تمام برنامه های باز ویندوز و نمایش ان در لیست یا گرید
امکان دریافت پارامتر های هر تسک مثل cpu , ram
امکان بستن برنامه های باز از طریق برنامه
امکان باز کردن یک برنامه جدید از طریق تسک منیجر
امکان خاموش و ریست کردن ویندوز از طریق تسک منیجر
امکان مرتب کردن تسک ها بر اساس مصرف منابع
اضافه کردن امکانات خاص به تسک منیجر
بانک اطلاعاتی در سی شارپ در قالب پروژه دفترچه تلفن
بانک اطلاعاتی چیست؟
در چه پروژه هایی نیاز به بانک اطلاعاتی داریم؟
انواع بانک های اطلاعاتی و بررسیویژگی های انها
معرفی بانک های اطلاعاتیAccess , sql به شکل اختصاصی
انواع روشهای اتصال به بانک اطلاعاتی در سی شارپ
معرفی تکنولوژی هایADO.Net , Linq , Entity framework
ساخت برنامه دفترچه تلفن با تک تک روشهای فوق
انجام 4 عملیات پایه : Insert,Select,Update,Delete از طریق روش های فوق
کدام یک از این روش ها بهتر اای برنامه نویسی ای که میبینم، کدهای بدخطی دارند. فیکس کردن ها و تغییرات بر روی آنها زمانبر و هزینه بردار است. پشت هر فرمی، صدها خط کد وجود دارد. در همه کلاس ها هم کدها پخش شده اند. این مشکل قابل بهبود است. فقط به این خاطر که windows form یک تکنولوژی پیر است، به این معنی نیست که نوشتن پروژه های قابل بهینه سازی در سی شارپ امکانپذیر نیست. در ادامه، چند روش برای بهبود کدهای Windows Forms به شما نشان میدهیم:
ظاهر نرم افزارتان را با استفاده از User Control به قسمتهای کوچکتر بشکنید.
یک قانون مهم را در ذهن داشته باشید. تعداد زیادی کنترل را در یک فرم قرار ندهید. این موضوع فرم شما را پیچیده میکند. شاید الان راحت بفهمید که چطور کد را نوشته اید. اما بعدها که به سراغ کد بیایید، از آن سر در نمی آورید. پروژه های قابل بهینه سازی در سی شارپ باید از این موضوع اجتناب کنند. معمولا فرم های اصلی شما، میتوانند به بخش های کوچکتری شکسته شوند. ما به این بخش ها view میگوییم. اگر کنترل های هر بخش را در view مخصوص به همان بخش بگذارید، کارتان خیلی راحت تر میشود. در windows forms راحت ترین راه برای این کار، User Control است. مثلا فرض کنید میخواهید یک پنل بسازید که روی آن ۱۰ دکمه وجود دارد و با فشردن هر یک از این دکمه ها، یک فرم در برنامه باز میشود. چیزی شبیه به شکل زیر:
پروژه های قابل بهینه سازی در سی شارپ
در این صورت بهتر است که قسمت سمت راست که دکمه ها در آن هستند، به شکل یک User Control جدا ساخته شود و قسمت سمت چپ به شکل یک User Control دیگر. با فشار دادن هر دکمه از منوی راست، یک event فراخوانی میشود که در بدنه آن event فرم مربوطه را باز میکنیم. به این ترتیب میتوانیم ui را به قسمت های کوچک تر بشکنیم.
کد نامربوط به UI را بیرون از UI نگه دارید
در بیشتر برنامه های ویندوزی، شما حجم زیادی از کدها را پست فرم ها میبینید. این موضوع به شدت با مفهوم “Single Responsibility” مغایرت دارد. (در مقالات آینده شما را با این مفهوم بسیار مهم آشنا میکنیم. موقتا اینقدر بدانید که Single Responsibility یعنی اینکه یک کلاس باید بیشتر از یک مسئولیت نداشته باشد. مثلا کلاسی نداشته باشیم که هم متن را از دیتابیس بخواند و هم آنرا پرینت کند. خواندن متن به عهده یک کلاس جداست و پرینت به عهده یک کلاس دیگر)
فوکوس اصلی یک فرم یا user control باید بر روی تعامل با کاربر باشد. بنابراین وقتی کدهای پشت یک فرم را مینویسید، از خودتان سوال کنید : “آیا کاربر من به این کد نیاز دارد؟ اگر جواب “خیر” بود، آن قسمت از کد را به یک کلاس Single Responsibility منتقل کنید و از پشت فرم بردارید.
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
برای مثال،در یک فرم که مسئولیت چاپ را به عهده دارد شما برای پرینت، از یک کلاس Printer استفاده خواهید کرد. این کلاس از طریق یک اینترفیس و با کمک dependency injection با فرم ما ارتباط برقرار میکند. اگر dependency injection را نمیشناسید به مقاله کاربرد interface در برنامه نویسی سی شارپ مراجعه کنید. در مقالات بعدی، dependency injection را بهطور کامل برای شما شرح خواهیم داد. نوشتن پروژه های قابل بهینه سازی در سی شارپ بدون استفاده از dependency injection تقریبا غیر ممکن است.
با استفاده از interface ها view های خنثی بسازید!
یک قاعده در برنامه نویسی را به یاد داشته باشید. بر خلاف بیشتر مثال هایی که تا امروز دیده ایم، در برنامه نویسی حرفه ای ما هیچ وقت از یک کلاس، در کلاس دیگری استفاده نمیکنیم!!! هر وقت احتیاج داشتیم که در view ها (یا هر کلاس دیگری) از یک کلاس استفاده کنیم، به جای استفاده مستقیم از کلاس، یک interface میسازیم و از آن استفاده میکنیم. به این ترتیب هرگونه وابستگی میان کلاس های ما از بین میرود و در نتیجه، ما میتوانیم هر کلاس را جداگانه تست و دیباگ کنیم. اگر نمیدانید این رویه چطور انجام میشود، حتما سری به مقاله استفاده از Interface بزنید. پروژه های قابل بهینه سازی در سی شارپ باید از این قاعده پیروی کنند که کدهای پشت فرم آنها فقط مربوط به UI باشد.
نکته مهم تر اینکه، هر view خودش هم باید یک Interface را implement کند. فرض کنید، یک فرم ثبت معلم داریم که نام و نام خانوادکی را از کاربر میگیرد و آنها را save میکند. کد های ما به شکل زیر خواهند بود:
interface INewUserView
{
string FirstName { get; set; }
string LastName { get; set; }
event EventHandler SaveClicked;
}
public partial class form1:Form,INewUserView
{
public string Name
{
get{return txtName.Text;}
set{txtName.Text=value;}
}
public string Family
{
get{return txtFamily.Text;}
set{txtFamily.Text=value;}
}
void Button1_Click(object sender, EventArgs e)
{azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
if (SaveClicked!=null)
SaveClicked;
}
event EventHandler SaveClicked;
}
به این ترتیب، ما در تمام برنامه، به جای اینکه با form1 کار کنیم، با IUserView کار میکنیم و هیچ کجای برنامه با form1 وابستگی ای وجود نخواهد داشت.با استفاده از این روش شما به راحتی میتوانید هر زمانی که دوست داشتید،تکنولوژی مورد استفاده تان را عوض کنید، مثلا بدون اینکه به کدهایتان دست بزنید، از Windows Forms به WPF کوچ کنید.
از لایه Presenter برای کنترل View ها استفاده کنید. (استفاده از MVP در پروژه های قابل بهینه سازی در سی شارپ)
اگر تمام view ها را مثل مثال بالا خنثی کرده باشید، نیاز به چیزی دارید که این view هارا به model یا مغز برنامه شما متصل کند. این کار وظیفه Presenter است.نام این روش MVP یا Model View Presenter است. در این مدل view هایشما کاملا خنگ هستند! هیچ کاری انجام نمیدهند. و Presenter به آنها دستور میدهد که DATA ها را نمایش بدهند. در حقیقت تنها وظیفه یک view نمایش اطلاعات است و همینطور گرفتن اطلاعات از کاربر. view همچنین میتواند با Presenter ارتباط برقرار کند. مثلا در بند بالا، View نمونه کد ما، نام و فامیل کاربر را در ۲ عدد textbox نمایش میدهد و در صورت فشار دادن دکمه save به Presenter اعلام میکند که کاربر درخواست save دارد. همین! همانطور که میبینید، با این روش بخش های مختلف نرم افزار از هم جدا میشوند. پس view مطلقا به طور مستقیم با مغز یا مدل نرم افزار درارتباط نیست. مثال استفاده از مدل MVP در سی شارپ ، این موضوع را به طور کامل و با زبان ساده شرح میدهد. مهمترین مزیت استفاده از MVP قابلیت تست شدن نرم افزار توسط unit test است. چون UI و logic کاملا مجزا هستند.
:: موضوعات مرتبط:
new csharp ,
,
:: بازدید از این مطلب : 165
|
امتیاز مطلب : 3
|
تعداد امتیازدهندگان : 1
|
مجموع امتیاز : 1